x11: Set GdkToplevelX11.have_focused on creation
authorRui Matos <tiagomatos@gmail.com>
Sat, 31 Mar 2012 14:01:36 +0000 (16:01 +0200)
committerRui Matos <tiagomatos@gmail.com>
Wed, 4 Apr 2012 15:14:06 +0000 (17:14 +0200)
Since the order in which _NET_WM_STATE and _NET_WM_DESKTOP are set, or
even *if* they are set, isn't defined, we could end up unsetting
GDK_WINDOW_STATE_FOCUSED given that both handlers for these two X
properties end up doing window state changes for all states. As we
want GDK_WINDOW_STATE_FOCUSED to be set by default we need to set its
master flag by default as well.

https://bugzilla.gnome.org/show_bug.cgi?id=673125

gdk/x11/gdkwindow-x11.c

index 0a72921080d55796fab4bf9305a3578f8a076942..981572d826c8824c266bb4b11a900d7b4b202a5a 100644 (file)
@@ -170,7 +170,10 @@ _gdk_x11_window_get_toplevel (GdkWindow *window)
   impl = GDK_WINDOW_IMPL_X11 (window->impl);
 
   if (!impl->toplevel)
-    impl->toplevel = g_new0 (GdkToplevelX11, 1);
+    {
+      impl->toplevel = g_new0 (GdkToplevelX11, 1);
+      impl->toplevel->have_focused = TRUE;
+    }
 
   return impl->toplevel;
 }